Embodiments of the invention relate to amortization of latching and logging costs for transactions in operational analytics systems, in particular, for pooling work across multiple transactions as a batch based on clustering request types.
There is an increasing trend towards doing business intelligence (BI) queries on real-time data in databases or tabled data. One important challenge in realizing business intelligence queries is contention between queries and large numbers of updates. Traditionally, every transaction (update or query) runs in its own thread, and takes latches and locks as appropriate to protect data accessed from concurrent modifications. This means BI queries have to deal with contention from many small transactions and point queries. At high throughputs, the physical contention overheads are severe, especially on multicore and non-uniform memory access (NUMA) hardware.